package com.example.work.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.work.entity.TbCheckArea;
import com.example.work.mapper.TbCheckAreaMapper;
import com.example.work.service.IAreaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**

 */
@Service("areaService")
public class IAreaServiceImpl extends ServiceImpl<TbCheckAreaMapper, TbCheckArea> implements IAreaService {

    @Autowired
    private TbCheckAreaMapper tbCheckAreaMapper;


    @Override
    public boolean updateAreaById(TbCheckArea tbCheckArea) {
        // 调用 BaseMapper 的 updateById 方法
        return this.updateById(tbCheckArea);
    }

    @Override
    public List<Map<String, Object>> getActiveAreas() {
        // 构造查询条件：deleteFlag = 0
        QueryWrapper<TbCheckArea> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("isusing", 1).select("id", "name"); // 只查询 id 和 name 字段

        // 查询结果返回 Map 列表
        return tbCheckAreaMapper.selectMaps(queryWrapper);
    }

    /**
     * 根据category的id返回其下的所有的区域，并进行包装
     * **/
    @Override
    public List<TbCheckArea> getCategoryAreas(String categoryId) {
        // 查询并获取所有的area
        return lambdaQuery().eq(TbCheckArea::getCategoryId, categoryId).list();
    }



}
